Orchid RamQuest XT/AT Enhancement Board - notes by AlexC, 2016

ALWAYS use /E switch with MM.SYS when using DOS 5.00 and perhaps later versions of DOS too. It helps reliability and some programs won't run without it. It ensures only standard EMS pages are made available, which unfortunately disables UMBs. So you CANNOT use this card for UMBs when running DOS 5.00, but you can with DOS 3.30 (with some caveats). See later in this file for details.

I tested this in the Commodore PC10-III after putting two 4MB SIMMs in it. And it smoked! Two capacitors melted (C57 and C58, I think - the two near the bottom right of the board, near the backplane). I replaced the two 10uF 25V tantalum bead capacitors and it seems fine now. I installed it without any RAM in it and SETRAM.EXE was able to find it.

Then I put 4x 256KB SIMMs in it and SETRAM.EXE was able to backfill from 256KB upward and also leave 256KB EMS. Backfilling from 256KB requires 768KB and backfilling from 512KB requires 512KB, presumably because it fills the entire 1MB - which implies that UMBs would be possible, maybe with QRAM or similar, since the memory is actually present. Yes, see this (scroll down): https://sites.google.com/site/misterzeropage/ [but see my notes later in this file]

If you can't get SETRAM to 'stick' its values in the card's memory, first clear the settings entirely and then start again. Then reboot and save, and reboot and save, and reboot and save. It should work. A clean boot is probably wise.

The contents of link.bat will change depending on SETRAM settings, but if you use it then be aware that it modifies config.sys and autoexec.bat, e.g. stripping any lines containing 'cache' from the latter! Not helpful, so only use it to get the correct syntax for MM.SYS in config.sys.

Note that Extended memory won't work on an XT-class machine. Needs a 286 according to the manual. But will a V20 work? No. Just use EMS.

The card will take up to 8MB (8x 1MB SIMMs). If you're mixing 256KB with 1MB SIMMs then the 256KB ones must come first, i.e. in the lower-numbered banks. Apple memory will NOT work. Must be 9-chip RAM (though my 3-chip SIMMs appeared to work).

Check SIMM memory timings carefully and adjust in SETRAM if necessary. The system bus defaults to 12MHz I think, which seems unlikely. I've set it to 6/8MHz in the Commodore, which may or may not be important.

Label of Orchid disk 1 was RQXTAT2-11, Disk 2 had no label. I reformatted/replaced the floppies after I bought it, as disk 1 was failing. Did multiple checksums, though, so what I have is correct and valid.

This is NOT a RamQuest 8/16 - that was launched in 1990, this one in 1988. So be cautious about any docs/ideas that refer to that one.

Since MM.SYS does a RAM test on each boot (Ah, you can disable that with the /Z switch!), there's little point in having more than 2MB or 3MB on it (3MB could be 4x256KB then 2x1MB). 2MB is probaby the sweet-spot for an 8088 anyway.

Probably don't bother with the 'productivity' stuff like RAMdrive, print spooler, cache, etc. NCACHE2 and TDSK/SRDEMS are better.

See here: http://newsgroups.derkeiler.com/Archive/Comp/comp.sys.ibm.ps2.hardware/2011-10/msg00040.html
And here: http://www.vcfed.org/forum/showthread.php?34739-Expandedn-memory-board-RamQuest-XT-AT-mm-sys-driver-missing
But I tested the MM816.SYS and INSTALL.EXE from the later RamQuest 8/16 cards and it doesn't work. Can't find the card at all, even with correct addressing syntax.

This seems a good config.sys entry for stable EMS:

REM Remove the /Z switch to thoroughly test RAM.
REM You MUST use the /E switch (only standard EMS pages available) or some
REM programs and Windows 2.03 will hang under DOS 5.00
DEVICE=c:\orchid\MM.SYS /o=05h /X=E000H-EFFFH /F /Z /E

Options I've worked out for Orchid's cache.com are:
	cache on
	cache off
	cache status
	cache flush

-----------

Read this about creating UMBs! (as tested on Commodore PC10-III)

Summary: don't use DOS 5.00. QRAM.SYS from QRAM 2.02, with DOSDATA.SYS and DOS-UP.SYS and LOADHI.SYS and LOADHI.COM from QEMM 7.04 work fine under DOS 3.30 and maybe others. Windows 2.03 still doesn't load at the time of writing, but everything else seems to be OK: 128KB UMBs and over 600KB free base RAM.

[So below here is *ONLY* true for DOS 5.00]

First I tried umbems.sys from PC-DOS with DOSMAX and it didn't work. UMBEMS took 64KB but disabled ALL the rest of the EMS, and then DOSMAX crashed anyway. So that's not a solution.

Regarding UMBs, read all of this thread: http://www.vcfed.org/forum/showthread.php?12685-Loading-dos-into-UMB-on-an-XT and also this: http://www.vcfed.org/forum/showthread.php?31753-Loading-dos-high-on-a-XT.

I tested QRAM again, extracted its switches using 'strings' and tried to include more UMB areas, but it told me there was no way because the EMS board could only deliver 64KB of UMBs (and EMS would be disabled). So I tested with /E switch removed from MM.SYS and got 64KB of UMBs plus the 64KB EMS page frame. DOSMAX in least aggressive mode could use 20KB of that, but then there were random crashes. Anyway, the remaining TSRs would only use perhaps another 15KB, so I might gain 35KB lower memory at the expense of stability.

Then I fiddled around and moved page frame to E000 which gave me 128KB UMBs, but I can't use them. DOSMAX isn't happy, and trying DOS-UP.SYS and DOSDATA.SYS from QEMM only worked on one boot (610KB free plus 90KB free upper!) but never again. It would either hang at the DOSDATA stage or chuck me into a weird pre-production "Commodore 8088" BIOS tool thing.

I shifted the page frame around, tried to exclude whatever area had a 'hidden' BIOS in it (not the HDD controller, as that's at F200 and FA00) but couldn't work it out. Debug showed nothing at C000, D000 or E000 but it just doesn't work.

Then I tried again using just QRAM.SYS and DOS=UMB. That worked in that it showed 64KB free UMBs and I managed to load schedule.com into it, but when trying to devicehigh=blah in config.sys it again went to the Pre-production thing or just crashed randomly. Very strange.

I suspect that this card is unreliable without the /E switch - in other words, UMBs would work with a RAMQuest 8/16 but not with this XT/AT. Doesn't matter, though. I don't need any more RAM and the EMS is probably more useful.

I know that UMBs could work on the Commodore PC because they did with UMBHERC.SYS. But they don't with this EMS board. Probably why they brought out the later 8/16 board to address those issues. Meh, it's fine. EMS is usable and useful.

Bear in mind all tests were done while the card was backfilling the Commodore's RAM down to 256KB, but I don't think that's the issue here as with the /E switch everything else works fine.

-----------

[What follows is for a newer version of the card, but some of the switches might be useful (it's how I found out about /Z).]

Pulled from RamQuest 8/16 ISA memory card:

RamQuest 8/16

README.DOC



This file contains information, changes and enhancements
to the RamQuest 8/16 that doesn't appear in the user's manual.





Date: 06/14/90
---------------------------------------------------------------


Important information on the following topics is in this file:

1. - Release note

2. - MM.SYS command line switches/parameters

3. - Multi-Language support in INSTALL.EXE

4. - Using the RamQuest 8/16 in an OLIVETTI M290 system.



1. - Release note
Diskette Version 1.1 contains version 1.1 software:
MM816.SYS version 1.1: supports up to 32 Mb Ems memory.
(8 4Mx9 simms installed)
INSTALL.EXE version 1.1: supports MM816.SYS version 1.1 and
French language.

The old MM.SYS and INSTALL.EXE should be removed and
replaced by the version 1.1 software from now on.


2. - Command line switches and parameters.

The syntax used looks like this:

DEVICE=[pathname]MM816.SYS /O=nnn /T /Z /F /A /S=nnnn /X=nnnn-nnnn ..
.. /H=nnn /C=nnn /D=nn


/O=nnn or /o=nnn
nnn refers to a 3 digit hexadecimal number which is the
I/O base address of the RamQuest 8/16's configuration
register.

Supported values for nnn:
208
300
308
310
600
608


Example: /O=208


/T or /t
Always test EMS memory.


/Z or /z
Don't test EMS memory.


/F or /f
Causes MM816.SYS to display internal data parameters.

A sample display:

Expanded Memory Manager Version 4.00
Copyright 1987,1990 Orchid Technology Inc. All Rights Reserved.
Copyright 1987,1990 Quadtel Corporation. All Rights Reserved.
Ramquest 8/16 Version XXX

EMS Window Address: D000
Contexts Avaliable: 255
Context Depth: 5
Handles Available: 255
Memory Avaliable: 4096

(Press ESC to skip memory test)
Testing Memory: 4096

The above was only an example; MM816.SYS will display
the appropriate values for your system's configuration.


/A or /a
INSTALL appends this switch to the command line of
MM816.SYS whenever exPanded memory is selected.

IBM has reserved the address range starting at 0E0000h and
ending at 0EFFFFh but some AT compatible makers have not.

This switch results in MM816.SYS searching
0C0000h to 0DC000h for an available exPanded memory
page frame and if unsuccessful, searching 0C0000h to 0EC000h
again before aborting exPanded memory driver installation.

If /A is not used, MM816.SYS will search 0C0000h to 0EC000h
for an available exPanded memory page frame.


/S=nnnn or /s=nnnn (default value for /S is 0D000h)
nnnn refers to a 4 digit hexadecimal number which equals
a paragraph segment address at which MM816.SYS will place the
exPanded Memory Page Frame. The default is determined at
load time by MM816.SYS.

Supported values for nnnn:
C000
C400
C800
CC00
D000
D400
D800
DC00
E000


Example: /S=D000


/X=nnnn-mmmm or /x=nnnn-mmmm
Exclude a range of addresses from being used by MM816.SYS
as an exPanded memory page address.

nnnn refers to a 4 digit hexadecimal paragraph segment address
and mmmm refers to the ending range. nnnn is rounded down to
the nearest valid beginning range address and mmmm is rounded
up to the nearest ending range address.

Example: /X=C000-C7FF

This excludes the address space starting at 0C0000h
and ending at 0c7fffh. This address range is sometimes
used by VGA BIOS.

MM816.SYS uses several methods to detemine where it can place
the exPanded memory page address. However, not all devices
using a possible page address are detectable. This switch
can be used as a command to cause MM816.SYS to "skip" a
range of addresses.


/H=nnn or /h=nnn (default value for /H is 255)
MM816.SYS uses a handle to associate with EMS page(s).
nnn is the maximum number of handles that can be used in
the system.
(3 minimum, 255 maximum)


/C=nnn or /c=nnn (default value for /C is 255)
The number of contexts(3 minimum, 255 maximum)


/D=nn or /d=nn (default value for /D is 5)
The depth of context saves(1 minimum, 32 maximum)


Note that the /H, /C, and /D options affect MM816.SYS's internal
memory buffer size. MM816.SYS will allocate less Dos memory if
smaller values are set for /H, /C, and /D.



3. - Multi-Language support in INSTALL.EXE
Install.exe will now display messages/prompts in French
when it is started with the command line option 'F' or 'f':
e.g.: Install f



4. - Using the Ramquest 8/16 in an OLIVETTI M290 system.
If extended memory is selected but the memory cannot be
recognized by the M290's boot up sequence, try to set the
starting address of Ramquest 8/16's extended memory to
1024K through the Install.exe.
